#pragma one

#include <algorithm>
#include <fstream>
#include <iostream>
#include <memory>
#include <string>
#include <vector>

struct RecordInfo {
  RecordInfo() {}

  RecordInfo(double _mic_time, std::string _name) : mic_time(_mic_time), name(_name) {}

  double mic_time = 0;
  std::string name;
};

using RecordInfoPtrArray = std::shared_ptr<std::vector<RecordInfo>>;
RecordInfoPtrArray makeRecord();

struct RecordInfoAndFrame {
  RecordInfoPtrArray infos;
  int frame_count;
};

void recordToFile(const std::vector<RecordInfo>& records, const std::string& outFileName);